QT += core widgets

CONFIG += c++17

TARGET = algorithms
TEMPLATE = app

# 设置输出目录
CONFIG(debug, debug|release) {
    DESTDIR = debug
} else {
    DESTDIR = release
}

# 设置中间文件目录
OBJECTS_DIR = $$DESTDIR/.obj
MOC_DIR = $$DESTDIR/.moc
RCC_DIR = $$DESTDIR/.rcc
UI_DIR = $$DESTDIR/.ui

# 源文件
SOURCES += \
    main.cpp \
    mainwindow.cpp \
    puzzlestate.cpp \
    searchnode.cpp \
    searchalgorithm.cpp \
    astaralgorithm.cpp \
    bfsalgorithm.cpp \
    dfsalgorithm.cpp

# 头文件
HEADERS += \
    mainwindow.h \
    puzzlestate.h \
    searchnode.h \
    searchalgorithm.h \
    astaralgorithm.h \
    bfsalgorithm.h \
    dfsalgorithm.h

# UI文件
FORMS += \
    mainwindow.ui

# 编译器设置
win32 {
    CONFIG += console
}

# 仅在MSVC工具链下启用UTF-8源文件标志
msvc {
    QMAKE_CXXFLAGS += /utf-8
}

unix {
    QMAKE_CXXFLAGS += -std=c++17
}

# 版本信息
VERSION = 1.0.0
QMAKE_TARGET_COMPANY = "8数码求解工具"
QMAKE_TARGET_PRODUCT = "8-Puzzle Solver"
QMAKE_TARGET_DESCRIPTION = "基于Qt的8数码问题搜索算法演示工具"
QMAKE_TARGET_COPYRIGHT = "Copyright (C) 2024"